﻿
var chatWs={

    /*
     * webSocket对象
     */
    ws:null,

    /*
     * 创建连接
     * url:为传入的server的url(如：127.0.0.1:8080)
     */
    createConnection:function (url){

        var serverUrl=window.location.host;
        console.log(serverUrl);
        //serverUrl：获取的是服务器的地址
        if(serverUrl=="localhost:8090"||url==null||serverUrl == "127.0.0.1:8090"){
            url=serverUrl;
        }
        console.log(url);
        ws=new WebSocket("ws://"+url+"/chat");
        ws.onopen=function(){
            //测试
        };

        ws.onclose=function(event){
            //测试
        };

        ws.onerror=function(event){

        };

        return ws;
    },

    /*
     * 发送消息
     * news:消息正文
     * receiverId:消息的接收人
     */
    sendNews:function (news,receiverId){
        var message={
            content:news,
            isRead:0,
            messageDate:new Date().getTime(),
            receiver:{userId:receiverId},
            type:1
        };
        ws.send(JSON.stringify(message));
        return message;
    },

    /*
     * 上线，获取对方是否在线，上线通知其他人
     * receiverId:消息的接收人
     */
    userOnline:function (receiverId){
        var message={
            receiver:{userId:receiverId},
            type:2
        };
        ws.send(JSON.stringify(message));
    },

    /*
     * 下线
     */
    userOffline:function(){
        var message={
            type:3
        };
        ws.send(JSON.stringify(message));
    },

    /*
     * 提示接收信息
     * message:接收到的信息
     */
    feedback:function(message){
        message.type=4;
        ws.send(JSON.stringify(message));
    },

    /*
     * 初始化未读数据及未接收数据
     * receiverId:消息的接收人
     */
    initNews:function(receiverId){
        var message={
            receiver:{userId:receiverId},
            type:5
        };
        ws.send(JSON.stringify(message));
    },

    /*
     * 输入提示
     * receiverId:消息的接收人
     */
    inputPrompt:function(receiverId){
        var message={
            receiver:{userId:receiverId},
            type:6
        };
        ws.send(JSON.stringify(message));
    },

    /*
     * 指定日期格式为: 月-日 小时:分钟
     * dateStr 时间戳(String类型)
     * return:返回时间戳对应指定格式的日期
     */
    formatDate:function (dateStr){
        if(dateStr!=null){
            var date=new Date(parseInt(dateStr));
        }else{
            var date=new Date();
        }
        var month=date.getMonth()+1;
        var day=date.getDate();
        var hour=date.getHours();
        var minute=date.getMinutes();
        return this.formatData(month)+"-"+this.formatData(day)+" "+this.formatData(hour)+":"+this.formatData(minute);
    },

    /*
     * 格式化日期具体格式,补0
     * temp:月/日/小时/分钟
     * return:返回格式化后的数据
     */
    formatData:function (temp){
        if(temp<10){
            return ""+"0"+temp;
        }else{
            return temp;
        }
    },

    /*
     * 获取星期
     * return:返回星期(String)，
     */
    getWeek:function (){
        var day="星期";
        switch(new Date().getDay()){
            case 0:day+="日";break;
            case 1:day+="一";break;
            case 2:day+="二";break;
            case 3:day+="三";break;
            case 4:day+="四";break;
            case 5:day+="五";break;
            case 6:day+="六";break;
        }
        return day;
    }

};